Skip to content

Support TagMacro parameter substitution for polymorphic function types on Scala 3 #576

Open
Exceluyi wants to merge 3 commits into
zio:developfrom
Exceluyi:fix-404
Open

Support TagMacro parameter substitution for polymorphic function types on Scala 3 #576
Exceluyi wants to merge 3 commits into
zio:developfrom
Exceluyi:fix-404

Conversation

@Exceluyi

Copy link
Copy Markdown

Summary

Fixes TagMacro substitution for Scala 3 polymorphic function types where type parameters are hidden inside structural method refinements.

Previously, weak type references inside refinement member signatures (including polymorphic method signatures) were not fully substituted, causing Tag derivation to fail for types like:

[A] => AppF[A] => InjF[Either[CustomError, A]]

Tests

/fixes #404
/claim #404

@Exceluyi Exceluyi marked this pull request as ready for review February 22, 2026 04:53
@Exceluyi

Copy link
Copy Markdown
Author

pls review when you have time @neko-kai @pshirshov

@neko-kai

Copy link
Copy Markdown
Member

That's a lot of changes all around the codebase & in the runtime. Can you substantiate them? You can also try regenerating with Codex - that produces much smaller & focused diffs.

@Exceluyi

Exceluyi commented Feb 22, 2026

Copy link
Copy Markdown
Author

That's a lot of changes all around the codebase & in the runtime. Can you substantiate them? You can also try regenerating with Codex - that produces much smaller & focused diffs.

how do suppose i reduce the diff @neko-kai

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support TagMacro parameter substitution for polymorphic function types on Scala 3

2 participants